



How to get ArrayList from Stream in Java 8


Given a Stream, the task is to convert this Stream into ArrayList in Java 8.
Examples:


Input: Stream: [1, 2, 3, 4, 5]

Output: ArrayList: [1, 2, 3, 4, 5]



Input: Stream: ['G', 'e', 'e', 'k', 's']

Output: ArrayList: ['G', 'e', 'e', 'k', 's']



Using Collectors.toList() method:

Get the Stream to be converted.
Collect the stream as List using collect() and Collectors.toList() methods.
Convert this List into an ArrayList
Return/Print the ArrayList

Below is the implementation of the above approach:
Program:







 


 

 













// Java program to convert Stream to ArrayList 
// using Collectors.toList() method 
  
import java.util.*; 
import java.util.stream.*; 
  
public class GFG { 
  
    // Function to get ArrayList from Stream 
    public static <T> ArrayList<T> 
    getArrayListFromStream(Stream<T> stream) 
    { 
  
        // Convert the Stream to List 
        List<T> 
            list = stream.collect(Collectors.toList()); 
  
        // Create an ArrayList of the List 
        ArrayList<T> 
            arrayList = new ArrayList<T>(list); 
  
        // Return the ArrayList 
        return arrayList; 
    } 
  
    // Driver code 
    public static void main(String args[]) 
    { 
  
        Stream<Integer> 
            stream = Stream.of(1, 2, 3, 4, 5); 
  
        // Convert Stream to ArrayList in Java 
        ArrayList<Integer> 
            arrayList = getArrayListFromStream(stream); 
  
        // Print the arraylist 
        System.out.println("ArrayList: " + arrayList); 
    } 
} 



















Output:


ArrayList: [1, 2, 3, 4, 5]




Using Collectors.toCollection() method:
Approach:

Get the Stream to be converted.
Collect the stream as ArrayList using collect() and Collectors.toCollection() methods.
Return/Print the ArrayList

Below is the implementation of the above approach:
Program:







 


 

 













// Java program to convert Stream to ArrayList 
// using Collectors.toList() method 
  
import java.util.*; 
import java.util.stream.*; 
  
public class GFG { 
  
    // Function to get ArrayList from Stream 
    public static <T> ArrayList<T> 
    getArrayListFromStream(Stream<T> stream) 
    { 
  
        // Convert the Stream to ArrayList 
        ArrayList<T> 
            arrayList = stream 
                            .collect(Collectors 
                            .toCollection(ArrayList::new)); 
  
        // Return the ArrayList 
        return arrayList; 
    } 
  
    // Driver code 
    public static void main(String args[]) 
    { 
  
        Stream<Integer> 
            stream = Stream.of(1, 2, 3, 4, 5); 
  
        // Convert Stream to ArrayList in Java 
        ArrayList<Integer> 
            arrayList = getArrayListFromStream(stream); 
  
        // Print the arraylist 
        System.out.println("ArrayList: "
                           + arrayList); 
    } 
} 



















Output:


ArrayList: [1, 2, 3, 4, 5]










RishabhPrabhuTechnical Content Engineer at GeeksForGeeksIf you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please Improve this article if you find anything incorrect by clicking on  the "Improve Article" button below.







 


 

 
Most popular in Java
 






 
More related articles in Java
 



 


 













